1. BIG PICTURE — MACHINES ARE CONFIGURED, NOT HARD-CODED
An industrial machine (máy công nghiệp) does not hardcode its behavior into source code. Instead, it uses a recipe (công thức) to define how the machine should run for a specific product or process (quy trình).
Một máy công nghiệp không hardcode hành vi trực tiếp vào mã nguồn. Thay vào đó, nó sử dụng recipe (công thức) để định nghĩa cách máy vận hành cho một sản phẩm hoặc quy trình cụ thể.
A recipe (công thức) is essentially a structured set of parameters (tập hợp tham số) that control the machine’s behavior at runtime. This allows engineers and operators to change machine behavior without modifying or redeploying software.
Recipe (công thức) về bản chất là một tập hợp tham số có cấu trúc, điều khiển hành vi của máy tại runtime. Điều này cho phép kỹ sư và operator thay đổi cách máy hoạt động mà không cần sửa code hoặc deploy lại hệ thống.
This separation between logic (code) and configuration (cấu hình) is one of the most important design principles in industrial systems. It enables flexibility, maintainability, and safe operation across different products.
Sự tách biệt giữa logic (code) và configuration (cấu hình) là một trong những nguyên tắc thiết kế quan trọng nhất trong hệ thống công nghiệp. Nó giúp hệ thống linh hoạt, dễ bảo trì và vận hành an toàn cho nhiều loại sản phẩm khác nhau.
2. SIMPLE ANALOGY — LIKE A COOKING RECIPE
A recipe (công thức) in machines is very similar to a cooking recipe (công thức nấu ăn). In cooking, the recipe defines ingredients (nguyên liệu), steps (các bước), and timing (thời gian).
Recipe trong máy rất giống với công thức nấu ăn. Trong nấu ăn, công thức định nghĩa nguyên liệu, các bước thực hiện và thời gian.
In a machine, the “ingredients” become parameters (tham số), such as positions (vị trí), speeds (tốc độ), and thresholds (ngưỡng). The “steps” are defined by the workflow (luồng xử lý), and the timing is controlled through configuration (cấu hình thời gian).
Trong máy, “nguyên liệu” trở thành các tham số như vị trí, tốc độ và ngưỡng. “Các bước” được định nghĩa bởi workflow (luồng xử lý), còn thời gian được điều khiển thông qua cấu hình.
Just like cooking, if you change the recipe, you change the result — without changing the kitchen itself.
Giống như nấu ăn, nếu bạn thay đổi công thức, bạn sẽ thay đổi kết quả mà không cần thay đổi “nhà bếp” (tức là hệ thống máy).
3. WHAT A RECIPE CONTAINS (REAL SYSTEM)
In real industrial systems, a recipe (công thức) can contain hundreds or even thousands of parameters (tham số), depending on machine complexity.
Trong hệ thống thực tế, một recipe có thể chứa hàng trăm hoặc hàng nghìn tham số, tùy vào độ phức tạp của máy.
Typical content includes motion parameters (tham số chuyển động) such as axis positions, acceleration, and velocity limits. These directly affect how motors and actuators (cơ cấu chấp hành) move.
Các nội dung phổ biến bao gồm tham số chuyển động như vị trí trục, gia tốc và giới hạn tốc độ. Những tham số này ảnh hưởng trực tiếp đến cách motor và actuator hoạt động.
It also includes camera settings (cài đặt camera) like exposure time, gain, and lighting configuration, which are critical in inspection machines.
Ngoài ra còn có cài đặt camera như thời gian phơi sáng, gain và cấu hình ánh sáng, rất quan trọng trong các máy kiểm tra.
Inspection thresholds (ngưỡng kiểm tra) define what is considered a defect. A small change in threshold can drastically change yield and quality results.
Ngưỡng kiểm tra định nghĩa thế nào là lỗi. Một thay đổi nhỏ trong ngưỡng có thể ảnh hưởng lớn đến tỷ lệ đạt và chất lượng.
Timing configuration (cấu hình thời gian) controls delays, synchronization, and sequence timing between subsystems (hệ thống con).
Cấu hình thời gian điều khiển độ trễ, đồng bộ và thứ tự hoạt động giữa các hệ thống con.
These recipes are stored, versioned, and reused across production runs.
Các recipe này được lưu trữ, quản lý phiên bản và tái sử dụng trong các lần chạy sản xuất.
4. VISUAL — RECIPE CONFIGURATION UI
In real systems, recipes (công thức) are configured through an HMI (Human Machine Interface – giao diện vận hành), where operators can view and edit parameters (tham số).
Trong hệ thống thực tế, recipe được cấu hình thông qua HMI, nơi operator có thể xem và chỉnh sửa các tham số.
You typically see structured UI forms: numeric input fields, dropdown selections, and grouped configuration sections (cấu hình theo nhóm).
Bạn thường thấy giao diện dạng form có trường nhập số, dropdown và các nhóm cấu hình rõ ràng.
A well-designed UI is critical. It must prevent invalid inputs, guide the operator, and clearly show the impact of changes.
Một UI được thiết kế tốt là rất quan trọng. Nó phải ngăn chặn giá trị sai, hướng dẫn người vận hành và hiển thị rõ tác động của thay đổi.
5. HOW RECIPE DRIVES MACHINE BEHAVIOR
At runtime, the workflow (luồng xử lý) reads the recipe (công thức) and uses its parameters (tham số) to control execution.
Tại runtime, workflow sẽ đọc recipe và sử dụng các tham số để điều khiển quá trình chạy.
For example, if speed (tốc độ) is set higher, the machine will complete cycles faster, but may increase vibration or reduce accuracy.
Ví dụ, nếu tốc độ được đặt cao hơn, máy sẽ chạy nhanh hơn nhưng có thể tăng rung động hoặc giảm độ chính xác.
If inspection threshold (ngưỡng kiểm tra) is stricter, the system will detect more defects, but may also increase false positives.
Nếu ngưỡng kiểm tra nghiêm ngặt hơn, hệ thống sẽ phát hiện nhiều lỗi hơn nhưng cũng có thể tăng lỗi giả.
This is where real-world trade-offs happen — productivity vs quality vs safety.
Đây chính là nơi xuất hiện trade-off thực tế giữa năng suất, chất lượng và an toàn.
6. RECIPE VS WORKFLOW (VERY IMPORTANT)
A workflow (luồng xử lý) defines the structure of execution — the sequence of steps the machine performs.
Workflow định nghĩa cấu trúc thực thi — chuỗi các bước mà máy thực hiện.
A recipe (công thức) defines how each step runs — the configuration (cấu hình) used during execution.
Recipe định nghĩa cách mỗi bước được thực hiện — tức là cấu hình dùng trong quá trình chạy.
Think of workflow as code logic, and recipe as runtime data.
Hãy nghĩ workflow là logic code, còn recipe là dữ liệu runtime.
This separation allows the same workflow to handle multiple products simply by switching recipes.
Sự tách biệt này cho phép cùng một workflow xử lý nhiều sản phẩm chỉ bằng cách đổi recipe.
7. MULTIPLE RECIPES IN REAL SYSTEMS
Industrial machines almost always support multiple recipes (nhiều công thức).
Máy công nghiệp gần như luôn hỗ trợ nhiều recipe khác nhau.
Each recipe corresponds to a different product (sản phẩm) or variant. For example, wafer type A and wafer type B may require different motion paths and inspection thresholds.
Mỗi recipe tương ứng với một sản phẩm hoặc biến thể khác nhau. Ví dụ wafer loại A và B có thể cần đường đi và ngưỡng kiểm tra khác nhau.
Operators select the appropriate recipe before starting a production run.
Operator sẽ chọn recipe phù hợp trước khi bắt đầu chạy sản xuất.
8. VISUAL — RECIPE SELECTION
The system typically provides a list of available recipes (danh sách công thức), often with metadata like version, product type, and last modified time.
Hệ thống thường cung cấp danh sách recipe kèm metadata như phiên bản, loại sản phẩm và thời gian cập nhật.
When a recipe is selected, the system loads all parameters into memory and applies them to subsystems (hệ thống con).
Khi chọn recipe, hệ thống sẽ load toàn bộ tham số vào bộ nhớ và áp dụng cho các hệ thống con.
Selecting the wrong recipe can lead to incorrect processing, defects, or even machine damage.
Chọn sai recipe có thể dẫn đến xử lý sai, tạo lỗi hoặc thậm chí gây hỏng máy.
9. VALIDATION & SAFETY
Recipe validation (kiểm tra hợp lệ) is critical to prevent unsafe or invalid configurations (cấu hình).
Việc kiểm tra hợp lệ của recipe là cực kỳ quan trọng để tránh cấu hình không an toàn hoặc không hợp lệ.
For example, a speed parameter might exceed hardware limits, or a position might move the stage beyond safe boundaries.
Ví dụ, tốc độ có thể vượt giới hạn phần cứng hoặc vị trí có thể vượt ra ngoài vùng an toàn.
A robust system enforces validation rules before allowing a recipe to be used.
Một hệ thống tốt sẽ áp dụng các rule kiểm tra trước khi cho phép sử dụng recipe.
10. VERSIONING & TRACEABILITY
Recipes must be versioned (quản lý phiên bản) to track changes over time.
Recipe cần được quản lý phiên bản để theo dõi các thay đổi theo thời gian.
Every modification should be logged with user, timestamp, and change details for traceability (truy vết).
Mỗi thay đổi cần được ghi lại với người chỉnh sửa, thời gian và nội dung thay đổi để phục vụ truy vết.
This is essential for quality control (kiểm soát chất lượng) and for reproducing production issues.
Điều này rất quan trọng cho kiểm soát chất lượng và tái hiện lỗi trong sản xuất.
11. MENTAL MODEL FOR SOFTWARE ENGINEERS
From a software perspective, a recipe (công thức) is similar to a configuration object (đối tượng cấu hình).
Từ góc độ phần mềm, recipe giống như một object cấu hình.
The workflow (luồng xử lý) is your application logic, and recipe selection is runtime configuration loading.
Workflow là logic ứng dụng, còn việc chọn recipe giống như load cấu hình runtime.
This means the system is data-driven (điều khiển bằng dữ liệu), not code-driven.
Điều này có nghĩa hệ thống được điều khiển bởi dữ liệu, không phải bởi code.
12. WHY THIS MATTERS FOR YOUR ROLE
As a software engineer, most flexibility in the system comes from how well recipes are designed.
Với vai trò kỹ sư phần mềm, phần lớn sự linh hoạt của hệ thống đến từ cách thiết kế recipe.
If you hardcode parameters, you lose flexibility and increase deployment risk.
Nếu bạn hardcode tham số, bạn sẽ mất tính linh hoạt và tăng rủi ro khi deploy.
If you design a strong configuration system, operators can adapt the machine without engineering support.
Nếu bạn thiết kế hệ thống cấu hình tốt, operator có thể tự điều chỉnh máy mà không cần kỹ sư.
13. COMMON MISTAKES
A common mistake is hardcoding parameters directly into code instead of using a recipe (công thức).
Một lỗi phổ biến là hardcode tham số trực tiếp trong code thay vì dùng recipe.
Another issue is lack of validation (thiếu kiểm tra hợp lệ), which can lead to dangerous machine behavior.
Một vấn đề khác là thiếu kiểm tra hợp lệ, có thể dẫn đến hành vi nguy hiểm.
Poor UI design makes recipe editing confusing and error-prone.
UI kém khiến việc chỉnh sửa recipe khó hiểu và dễ sai sót.
Lack of versioning (không quản lý phiên bản) makes it impossible to track changes or debug issues.
Không quản lý phiên bản khiến việc truy vết và debug trở nên rất khó.
14. KEY TERMINOLOGY (EN ↔ VI)
| English | Vietnamese | Meaning |
|---|---|---|
| recipe | công thức | cấu hình điều khiển máy |
| parameter | tham số | giá trị điều khiển hành vi |
| configuration | cấu hình | tập hợp thiết lập |
| threshold | ngưỡng | giá trị quyết định |
| validation | kiểm tra hợp lệ | đảm bảo cấu hình an toàn |
| versioning | quản lý phiên bản | theo dõi thay đổi |
15. FURTHER READING
To go deeper, you should explore how recipes (công thức) integrate with MES (Manufacturing Execution System – hệ thống thực thi sản xuất) and how configuration-driven systems (hệ thống điều khiển bằng cấu hình) are designed in large-scale production.
Để hiểu sâu hơn, bạn nên tìm hiểu cách recipe tích hợp với MES và cách các hệ thống điều khiển bằng cấu hình được thiết kế trong sản xuất quy mô lớn.
Also study real industrial HMI design patterns and how safety constraints are enforced at the UI and controller levels.
Ngoài ra, hãy nghiên cứu các pattern thiết kế HMI thực tế và cách các ràng buộc an toàn được áp dụng ở cả UI và controller.